package io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * IO输入与输出
 * java按照输入和输出方向划分两个操作:读和写
 * 输入是用来读取的,是从外界输入到程序中的方向
 * 输出是用来写出的
 *
 * java将输入与输出比做 "流(Stream)",即向同一侧顺序移动的过程
 * 并且定义了两个超类:
 *
 * java.io.InputStream输入流
 * 里面规定了所有字节输入流的读取方法.将来实际读取不同设备的输入流都继承自它,因此都会有这里定义的读取操作
 * 使得程序员可以用相同的读取方式读取不同设备.
 *
 * java.io.OutputStream:输出流
 * 所有字节输出流都继承自它,里面定义了写出字节的方法.
 *
 * 文件流:
 * java.io.FileInputStream和FileOutputStream
 * 他们继承自InputStream和OutputStream.用来连接此文件,进行读写文件数据的流.
 */
public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
        文件输出流提供了两种构造方法:
        需要注释,如果指定的文件不存在会自动将其创建出来,前提是该文件所在的目录必须存在!
         */

        //向当前目录下的fos.dat文件写入数据
        //File file=new File("./fos.dat");
        //FileOutputStream fos=new FileOutputStream(file);      //方法一

        FileOutputStream fos=new FileOutputStream("./fos.dat");     //方法二
        /*
        void write(int d)
        将给定的int值对应的2进制的"低8位"写入文件
        00000000   00000000   00000000   00000001
        fos.dat文件中的内容  00000001
         */
        fos.write(1);
        fos.write(2);
        System.out.println("写出完毕!");
        fos.close();




    }
}
